#include <iostream>
#include <vector>

using namespace std;

/*
1.定义一个vector，从键盘任意输入n个整数，要求把这些整数偶数升序，奇数降序，并且偶数排列在奇数的前面
输入：10 5 96 41
结果：10 96 41 5
*/

void ascending(vector<int> &v1, int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n - i - 1; j++)
        {
            if (v1[j] > v1[j + 1])
            {
                swap(v1[j], v1[j + 1]);
            }
        }
    }
}

void descending(vector<int> &v1, int n)
{
    for (int i = n; i < v1.size(); i++)
    {
        for (int j = n; j < v1.size() - i + n - 1; j++)
        {
            if (v1[j] < v1[j + 1])
            {
                swap(v1[j], v1[j + 1]);
            }
        }
    }
}

int main()
{
    vector<int> v1;
    int n;
    cout << "请输入元素个数: ";
    cin >> n;
    v1.assign(n, 0);
    cout << "请输入元素: " << endl;
    for (int i = 0; i < n; i++)
    {
        cin >> v1[i];
    }

    for (int i = 0; i < n; i++)
    {
        if (v1[i] % 2 == 0)
        {
            v1.insert(v1.begin(), v1[i]);
            v1.erase(v1.begin() + i + 1);
        }
        else
        {
            v1.insert(v1.end(), v1[i]);
            v1.erase(v1.begin() + i);
        }
    }

    for (int i = 0; i < n; i++)
    {
        if (v1[i] % 2 != 0)
        {
            ascending(v1, i);
            descending(v1, i);
            break;
        }
    }

    for (int x : v1)
    {
        cout << x << " ";
    }
    cout << endl;
    return 0;
}